﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace MikeKappel.Com.CS.Interfaces
{
    /// <summary>
    /// IMikeKappelMasterPage Interface
    /// Provides a common definition for mobile and standard Master Pages.
    /// </summary>
    public interface IMikeKappelMasterPage
    {
        /// <summary>
        /// This allows pages to access the Master Page header content area
        /// A Master Page that implements the IMikeKappelMasterPage must be
        /// declared immediately after the page declaration.
        /// <code><%@ MasterType VirtualPath="~/Default.master" %></code>
        /// When using the IMikeKappelMasterPage Interface from inside a 
        /// custom contol you must you must be explicit
        /// IMikeKappelMasterPage MikePage = (IMikeKappelMasterPage)this.Page;
        /// <example>
        ///Image vbFile = new Image();
        ///this.Master.HeaderContent.Controls.Add(vbFile);
        ///vbFile.ImageUrl = "/images/icons/medium/FileVB.png";
        ///Image csFile = new Image();
        ///this.Master.HeaderContent.Controls.Add(csFile);
        ///csFile.ImageUrl = "/images/icons/medium/FileCS.png";
        ///Image jsFile = new Image();
        ///this.Master.HeaderContent.Controls.Add(jsFile);
        ///jsFile.ImageUrl = "/images/icons/medium/FileJS.png";
        ///Image sqlFile = new Image();
        ///this.Master.HeaderContent.Controls.Add(sqlFile);
        ///sqlFile.ImageUrl = "/images/icons/medium/FileSQL.png";
        /// </example>
        /// </summary>
        PlaceHolder HeaderContent { get; set; }
    }
}
